<html>
    <head>
        <title>功能特点</title>
    </head>
    <body>
        <script>
            /*
                    三、功能特定   

                                本节重点介绍ABP为ASP.NETCore MVC/Razor Pages UI提供的一些功能。


                                1、动态JavaScript API客户端代理

                                                动态JavaScript API客户端代理系统允许您从JavaScript客户端代码中使用服务器端HTTP API，就像调用本地函数一样。

                                                eg： 从服务器获取作者列表
                                                
                                                    acme.bookStore.authors.author.getList({
                                                                                            maxResultCount: 10
                                                                                    }).then(function(result){
                                                                                        console.log(result.items);
                                                                                    });

                                                acme.bookStore.authors.author.getList是一个自动生成的函数，它在内部对服务器进行AJAX调用。

                                                有关更多信息，请参阅动态JavaScript API客户端代理文档:  https://abp.io/docs/latest/framework/ui/mvc-razor-pages/dynamic-javascript-proxies


                                2、Bootstrap 标签助手  Bootstrap Tag Helpers 

                                                ABP使编写Bootstrap超文本标记语言变得更容易&类型安全：

                                                eg:  渲染Bootstrap模式

                                                     <abp-modal>
                                                        <abp-modal-header title="Modal title" />
                                                            <abp-modal-body>
                                                                Woohoo, you're reading this text in a modal!
                                                            </abp-modal-body>
                                                        <abp-modal-footer buttons="@(AbpModalButtons.Save|AbpModalButtons.Close)"></abp-modal-footer>
                                                    </abp-modal>


                                                有关更多信息，请参阅标记助手文档: https://abp.io/docs/latest/framework/ui/mvc-razor-pages/tag-helpers

                                3、表单和验证 Forms & Validation

                                                ABP提供了abp-dynamic-form和abp-input标签帮助程序来显着简化以创建一个功能齐全的表单，该表单可以自动进行本地化、验证和AJAX提交。

                                                eg：使用abp-dynamic-form基于模型创建完整表单
                                                    
                                                   <abp-dynamic-form abp-model="Movie" submit-button="true" />

                                                有关详细信息，请参阅表单和验证文档:


                                4、捆绑和虽小客户端包 Bundling & Minification / Client Side Libraries

                                                ABP提供了一个灵活的模块化捆绑和缩小系统来创建捆绑包并在运行时缩小样式/脚本文件。

                                                     <abp-style-bundle>
                                                        <abp-style src="/libs/bootstrap/css/bootstrap.css" />
                                                        <abp-style src="/libs/font-awesome/css/font-awesome.css" />
                                                        <abp-style src="/libs/toastr/toastr.css" />
                                                        <abp-style src="/styles/my-global-style.css" />
                                                    </abp-style-bundle>

                                                此外，客户端包管理系统提供了一种模块化和一致的方式来管理第3方库依赖项。

                                                请参阅捆绑和缩小和客户端包管理文档。

                                5、JavaScript API

                                                JavaScript API为服务器端本地化、设置、权限、功能等提供了强大的抽象。它们还提供了一种向用户显示消息和通知的简单方法。


                                6、 模态框（Modals）、警报(Alerts)、小部件（Widgets）等

                                                小部件系统可用于创建可重用的小部件和创建仪表板。

                                                页面警报可以轻松地向用户显示警报。

                                                模态管理器提供了一种构建和使用模态的简单方法。

                                                Data Tables集成使创建数据网格变得简单。
                */
        </script>
    </body>
</html>